<?php
/**
 * 转义字符串
 * @param $string
 * @return string
 */
function string_decode($string){
    if(MAGIC_QUOTES_GPC && is_string($string)){
        $string = stripslashes($string);
    }
    return $string;
}

/**
 * 转换json数据中文编码
 * @param $array
 * @param $function
 * @param bool $apply_to_keys_also
 */
function array_recursive(&$array, $function, $apply_to_keys_also = false)
{
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            array_recursive($array[$key], $function, $apply_to_keys_also);
        } else {
            $array[$key] = !is_numeric($value) ? $function($value) : $value;
        }

        if ($apply_to_keys_also && is_string($key)) {
            $new_key = $function($key);
            if ($new_key != $key) {
                $array[$new_key] = $array[$key];
                unset($array[$key]);
            }
        }
    }
}

/**
 * 格式化时间
 * @param $data
 * @param string $format
 */
function format_time(& $data, $format = 'Y-m-d H:i:s')
{
    if(empty($data)) return false;
    foreach($data as $key => $item){
        if(is_array($item)){
            format_time($data[$key], $format);
        }else{
            if(strpos($key, 'time')){
                $data[$key] = local_date('Y-m-d H:i:s', $item);
            }
        }
    }
}

/**
 * 处理JSON数据
 * @param $data
 * @param int $error
 * @return string
 */
function json_encode_format($data)
{
    array_recursive($data, 'urlencode', true);
    return urldecode(json_encode($data));
}

/**
 * 格式化连接
 * @param $className
 * @param $methodName
 * @param string $queryString
 * @return string
 */
function format_url($className, $methodName, $queryString = ''){
    $queryArray = array();
    if(!empty($queryString)){
        $queryString = trim($queryString, '?');
        parse_str($queryString, $queryArray);

    }
    return U($className . '/' . $methodName, $queryArray);
}

/**
 * AJAX请求返回
 * @param $data
 * @param int $success
 */
function ajax_return($data, $success = 1)
{
    if(empty($charset))  $charset = C('DEFAULT_CHARSET');
    if(empty($contentType)) $contentType = C('TMPL_CONTENT_TYPE');
    // 网页字符编码
    header('Content-Type:'.$contentType.'; charset='.$charset);
    $data = array('success' => $success, 'message' => $data);
    die(json_encode($data));
}